/**
 * ArrayList不适合使用在频繁的插入和删除的场景
 * 适合给定下标位置进行查找元素。此时时间复杂度可以达到O(1)
 */

/**
 *  将数据元素通过结点进行存储，
 *  然后使用一个叫做next的引用/指针将这些结点串联起来
 *  这样的结构就叫做链表。
 */
public class Test {
    //先创造结点，在想办法和后面的结点连接起来
    /*public MySingleList.ListNode mergeTwoLists(MySingleList.ListNode head1, MySingleList.ListNode head2) {
        MySingleList.ListNode newHead = new MySingleList.ListNode(1);
        MySingleList.ListNode tmp = newHead;
        if(head1.val < head2.val){
            tmp.next = head1;

        }else{

        }

    }*/

    public static void main(String[] args) {
        MySingleList mySingleList = new MySingleList();
        //mySingleList.createList();
        mySingleList.addFirst(12);
        mySingleList.addFirst(23);
        mySingleList.addFirst(34);
        mySingleList.addFirst(45);
        mySingleList.addFirst(12);
        mySingleList.addFirst(12);
        mySingleList.addFirst(56);
        mySingleList.addLast(12);
        mySingleList.display();
       // mySingleList.remove(12);
        /*mySingleList.addLast(23);
        mySingleList.addIndex(1,888);*/
       // mySingleList.display();
        mySingleList.removeAllKey(12);
        mySingleList.display();;
       /* System.out.println("长度为"+mySingleList.size());
        System.out.println(mySingleList.contains(20));*/

    }
}
